package com.yst.gateway.monitor.models;

import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import com.yst.gateway.monitor.common.validator.groups.Groups;

@SuppressWarnings("serial")
public class SysUsers implements Serializable{
	
	//用户id
	@NotBlank(message="{sysUser.id.NotBlank}",groups={Groups.Modify.class})
    private String sysUserId;
	//用户名称
	@NotBlank(message="{sysUser.name.NotBlank}",groups={Groups.Add.class})
	@Length(max=30,min=11,groups={Groups.Add.class})
	@Pattern(regexp="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$|^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$",message="{model.phoneoremail.regexp}")
	private String sysUserName;
	//用户密码
	@NotBlank(message="{model.password.NotBlank}",groups={Groups.Add.class})
    @Pattern(regexp="^[A-Za-z0-9\\@\\!\\#\\$\\%\\^\\&\\*\\.\\~\\-]{6,32}$",message="{model.password.regexp}")
    private String sysUserPsw;
	//用户真实姓名
	@Length(max=12,min=0)
    private String sysUserRealname;
	//手机号
	@Pattern(regexp="^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$",message="{model.phone.regexp}")
    private String sysUserMobile;
	//email
	@Pattern(regexp="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$",message="{model.email.fomart}")
    private String sysUserEmail;
	//状态
    private Integer sysUserStatus;

    private Integer sysUserDel;

    private Date sysUserCtime;

    private String sysUserCreator;

    private Date sysUserUtime;

    private String sysUserModifier;
    //用户中心接口返回信息
    private String message;
    //登陆令牌
    private String token;
    
    public String getSysUserId() {
        return sysUserId;
    }

    public void setSysUserId(String sysUserId) {
        this.sysUserId = sysUserId;
    }

    public String getSysUserName() {
        return sysUserName;
    }

    public void setSysUserName(String sysUserName) {
        this.sysUserName = sysUserName;
    }

    public String getSysUserPsw() {
        return sysUserPsw;
    }

    public void setSysUserPsw(String sysUserPsw) {
        this.sysUserPsw = sysUserPsw;
    }

    public String getSysUserRealname() {
        return sysUserRealname;
    }

    public void setSysUserRealname(String sysUserRealname) {
        this.sysUserRealname = sysUserRealname;
    }

    public String getSysUserMobile() {
        return sysUserMobile;
    }

    public void setSysUserMobile(String sysUserMobile) {
        this.sysUserMobile = sysUserMobile;
    }

    public String getSysUserEmail() {
        return sysUserEmail;
    }

    public void setSysUserEmail(String sysUserEmail) {
        this.sysUserEmail = sysUserEmail;
    }

    public Integer getSysUserStatus() {
        return sysUserStatus;
    }

    public void setSysUserStatus(Integer sysUserStatus) {
        this.sysUserStatus = sysUserStatus;
    }

    public Integer getSysUserDel() {
        return sysUserDel;
    }

    public void setSysUserDel(Integer sysUserDel) {
        this.sysUserDel = sysUserDel;
    }

    public Date getSysUserCtime() {
        return sysUserCtime;
    }

    public void setSysUserCtime(Date sysUserCtime) {
        this.sysUserCtime = sysUserCtime;
    }

    public String getSysUserCreator() {
        return sysUserCreator;
    }

    public void setSysUserCreator(String sysUserCreator) {
        this.sysUserCreator = sysUserCreator;
    }

    public Date getSysUserUtime() {
        return sysUserUtime;
    }

    public void setSysUserUtime(Date sysUserUtime) {
        this.sysUserUtime = sysUserUtime;
    }

    public String getSysUserModifier() {
        return sysUserModifier;
    }

    public void setSysUserModifier(String sysUserModifier) {
        this.sysUserModifier = sysUserModifier;
    }

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}
    
}